package com.mobisys.live.dao.mapper;

import com.mobisys.live.dao.model.LiveWithBLOBs;
import com.mobisys.live.dao.model.Video;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface VideoMapper {
    int deleteByPrimaryKey(String id);

    int insert(Video record);

    int insertSelective(Video record);

    Video selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(Video record);

    int updateByPrimaryKeyWithBLOBs(Video record);

    int updateByPrimaryKey(Video record);

    //获取某个频道下的所有视频
    List<Video> selectByChannelId(String channelId);

    //获取某个用户的所有视频
    List<Video> selectByUserId(String userId);

    List<Video> findAll(int currIndex, int pagesize,String type);

    //删除某条视频，逻辑删除，将视频的"is_delete"设为isDelete，0为未删除，1为已删除
    int deleteVideo(@Param("videoId") String videoId,@Param("isDelete") Byte isDelete);

    //根据不同条件返回不同分布查询的结果
    List<Video> selectByPage(@Param("page") int page, @Param("size") int size, @Param("type") String type, @Param("sort") String sort);


    //根据不同条件返回不同分布查询的结果
    List<Video> selectByUserIdByPage(@Param("userId") String userId,@Param("page") int page, @Param("size") int size, @Param("type") String type, @Param("sort") String sort);

}